<?php

class Admin_TendenciasController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
        $this->_helper->_layout->setLayout('admin');
    }
	
    public function indexAction()
    {

    	$tipo = '0';
		
       Zend_Paginator::setDefaultItemCountPerPage(10);

	   Zend_View_Helper_PaginationControl::setDefaultViewPartial('produtos/paginator.phtml');

		$this->view->headTitle('Tendencias');
		
		$produtoModel = new Application_Model_Galerias();
		
		$produto = $produtoModel->fetchAll(
			$produtoModel->select()->where('excluido = 0')
			->where('tipo = ?', $tipo)
					);

			$paginator = Zend_Paginator::factory($produto);

	        $paginator->setCurrentPageNumber($this->_request->getParam('pagina'));

	        $this->view->paginator = $paginator;
    }

    public function adicionarAction() {
        require_once APPLICATION_PATH . '/modules/admin/forms/Galerias.php';
        $this->view->form = new admin_Form_Galerias();
		$tipo = '0';

		if($tipo == '0'){ $this->view->tipo = 'Tendencias';}

        if ($this->_request->isPost()) {

            $upload = $this->view->form->pFoto->getTransferAdapter();
            $upload->addValidator('Size', false, array('0kB', '2mB'));
            $upload->addValidator('Extension', false, array('gif', 'jpg', 'png'));

            $uploaded = false;
            if ($upload->isValid()) {
                if ($upload->receive()) {
                    $uploaded = true;
                }
            }

            $this->view->form->setDefaults($this->_request->getPost());

            $data = $this->view->form->getValues();

            if ($this->view->form->isValid($data)) {

                $galeriasModel = new Application_Model_Galerias();
                $data['tipo'] = $tipo;
                unset($data['pFoto']);

                $id = $galeriasModel->insert($data);

                if ($uploaded) {
                    $filter = new Zend_Filter_File_Rename(array('target' => APPLICATION_PATH . '/../public/galeria_capas/' . $id . '.jpg', 'overwrite' => true));
                    $filter->filter($upload->getFileName());

                    Zend_Loader::loadClass('Imagem');

                    $Pasta  = "galeria_capas/";
                    $nomeArquivo = $id . '.jpg';
                    $Largura = '600';
                    $Altura = '';

                    $MetodoRedimencionar = 2;

                    $CorFundo = null;

                    $Imagem = new Imagem($Pasta . $nomeArquivo);
                    $Imagem->Ponteiro = '';
                    $Imagem->Redimencionar($Largura, $Altura, $MetodoRedimencionar, $CorFundo);
                    $Imagem->Salvar( $Pasta . $nomeArquivo);
                }
				$onde = '/admin/tendencias';
				return $this->_helper->redirector->gotoUrl($onde);
            }
        }
    }


    public function removerAction() {
        $id = $this->_request->getParam('id');
        $confirma = $this->_request->getParam('confirma');
		
		if(isset($confirma)){
			if($confirma == 1){
				$galeriasModel = new Application_Model_Galerias();

				$galeriasModel->update(array(
					'excluido' => '1'
						), 'id_galeria = ' . $id);

                unlink(APPLICATION_PATH . '/../galeria_capas/' . $id . '.jpg');

			}
			return $this->_helper->redirector('index');
		}else{
		    $this->view->id = $this->_request->getParam('id');

			$galeriasModel = new Application_Model_Galerias();

			$nome_galeria = $galeriasModel->fetchAll(
										$galeriasModel->select()
											->from($galeriasModel->info(Zend_Db_Table_Abstract::NAME))
											->columns(array('nome'))
											->where('id_galeria = ?', $id)
										);
			$this->view->galeria = $nome_galeria;		
		}
    }
    public function editarAction() {
        $id = $this->_request->getParam('id');

        require_once APPLICATION_PATH . '/modules/admin/forms/Galerias.php';
        $this->view->form = new admin_Form_Galerias();

        $galeriasModel = new Application_Model_Galerias();

        if ($this->_request->isPost()) {
            $upload = $this->view->form->pFoto->getTransferAdapter();
            $upload->addValidator('Size', false, array('0kB', '2mB'));
            $upload->addValidator('Extension', false, array('gif', 'jpg', 'png'));

            $uploaded = false;
            if ($upload->isValid()) {
                if ($upload->receive()) {
                    $uploaded = true;
                }
            }

            $this->view->form->setDefaults($this->_request->getPost());

            $data = $this->view->form->getValues();

            if ($this->view->form->isValid($data)) {
                unset($data['pFoto']);

                $galeriasModel->update($data, 'id_galeria = ' . $id);
                if ($uploaded) {
                    $filter = new Zend_Filter_File_Rename(array('target' => APPLICATION_PATH . '/../public/galeria_capas/' . $id . '.jpg', 'overwrite' => true));
                    $filter->filter($upload->getFileName());

                    Zend_Loader::loadClass('Imagem');

                    $Pasta  = "galeria_capas/";
                    $nomeArquivo = $id . '.jpg';
                    $Largura = '600';
                    $Altura = '';

                    $MetodoRedimencionar = 2;

                    $CorFundo = null;

                    $Imagem = new Imagem($Pasta . $nomeArquivo);
                    $Imagem->Ponteiro = '';
                    $Imagem->Redimencionar($Largura, $Altura, $MetodoRedimencionar, $CorFundo);
                    $Imagem->Salvar( $Pasta . $nomeArquivo);
                }
                return $this->_helper->redirector('index');
            }
        }

        $galerias = $galeriasModel->find($id)->current();

        $this->view->form->setDefaults($galerias->toArray());
    }
}